package qwen

type Message struct {
	Role    string `json:"role"`
	Content string `json:"content"`
}

type Input struct {
	Messages []Message `json:"messages"`
}

type Choice struct {
	Message      Message `json:"message"`
	FinishReason string  `json:"finish_reason"`
}
type Request struct {
	Model      string     `json:"model"`
	Input      Input      `json:"input"`
	Parameters Parameters `json:"parameters"`
}

type Parameters struct {
	ResultFormat      string `json:"result_format"`
	IncrementalOutput bool   `json:"incremental_output"`
}

type Usage struct {
	TotalTokens         int                `json:"total_tokens"`
	OutputTokens        int                `json:"output_tokens"`
	InputTokens         int                `json:"input_tokens"`
	PromptTokensDetails PromptTokenDetails `json:"prompt_tokens_details"`
}
type PromptTokenDetails struct {
	CachedTokens int `json:"cached_tokens"`
}

type Response struct {
	Output struct {
		Choices []Choice `json:"choices"`
	} `json:"output"`
	Usage     Usage  `json:"usage"`
	RequestID string `json:"request_id"`
}
